package com.nov.sourcecode.HashMap;

import java.util.Collection;
import java.util.Map;
import java.util.Set;

/**
 * @author hwb
 * @param <K>
 * @param <V>
 */
public class BobHashMap<K,V> implements Map {


    transient Node<K,V>[] table;


    @Override
    public int size() {
        return 0;
    }

    @Override
    public boolean isEmpty() {
        return false;
    }

    @Override
    public boolean containsKey(Object key) {
        return false;
    }

    @Override
    public boolean containsValue(Object value) {
        return false;
    }

    @Override
    public Object get(Object key) {
        return null;
    }

    @Override
    public Object put(Object key, Object value) {
        return null;
    }

    @Override
    public Object remove(Object key) {
        return null;
    }

    @Override
    public void putAll(Map m) {

    }

    @Override
    public void clear() {

    }

    @Override
    public Set keySet() {
        return null;
    }

    @Override
    public Collection values() {
        return null;
    }

    @Override
    public Set<Entry> entrySet() {
        return null;
    }


    static class Node<K,V> implements Entry<K,V>{

        final int hash;
        final K key;
        V value;
        Node<K,V> next;

        Node(int hash,K key,V value,Node<K,V> next){
            this.hash=hash;
            this.key=key;
            this.value=value;
            this.next=next;

        }
        @Override
        public final K getKey() {
            return key;
        }

        @Override
        public final V getValue() {
            return value;
        }

        @Override
        public  V setValue(V value) {
            V oldValue = value;
            value = value;
            return oldValue;
        }
    }
}
